package com.apimanage.common.dto;

import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * API调用日志DTO
 * 用于在网关和监控服务之间传递API调用日志信息
 */
@Data
public class ApiLogDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * API ID
     */
    private Long apiId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 客户端IP
     */
    private String clientIp;

    /**
     * 请求URI
     */
    private String requestUri;

    /**
     * 请求方法
     */
    private String requestMethod;

    /**
     * 请求时间
     */
    private Date requestTime;

    /**
     * 响应时间
     */
    private Date responseTime;

    /**
     * 调用耗时（毫秒）
     */
    private Long costTime;

    /**
     * 响应状态码
     */
    private Integer responseStatus;

    /**
     * 请求体
     */
    private String requestBody;

    /**
     * 响应体
     */
    private String responseBody;

}